package com.dk.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author wbh
 * @since 2023-03-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("pd_work")
public class Work implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 工单编码
     */
    @TableId(value = "work_id", type = IdType.NONE)
    private String workId;

    /**
     * 工单名称
     */
    @TableField("work_name")
    private String workName;

    /**
     * 工单来源
     */
    @TableField("work_source")
    private String workSource;

    /**
     * 订单编号
     */
    @TableField("order_id")
    private String orderId;

    /**
     * 物料编码
     */
    @TableField("m_id")
    private String mId;

    /**
     * 产品名称
     */
    @TableField("product_name")
    private String productName;

    /**
     * 规格型号
     */
    @TableField("work_spec")
    private String workSpec;

    /**
     * 单位
     */
    @TableField("unit")
    private String unit;

    /**
     * 工单数量
     */
    @TableField("work_num")
    private Integer workNum;

    /**
     * 调整数量
     */
    @TableField("adjust_num")
    private Integer adjustNum;

    /**
     * 已生产数量
     */
    @TableField("pd_num")
    private Integer pdNum;

    /**
     * 批次号
     */
    @TableField("loc_id")
    private String locId;

    /**
     * 客户id
     */
    @TableField("c_id")
    private String cId;
    /**
     * 客户名称
     */
    @TableField("c_name")
    private String cName;

    /**
     * 需求日期
     */
    @TableField("expire_date")
    private Date expireDate;

    /**
     * 单据状态
     */
    @TableField("work_status")
    private Integer workStatus;

    /**
     * 联动查询id
     */
    @TableField("pid")
    private String pid;

    public Date getExpireDate() {
        if (this.expireDate == null){
            return new Date();
        }
        return expireDate;
    }
}
